﻿var action = "";
var Fonts = { MFC: 0, TF: '', P: '', U:'', GC:'', MT:'', HT: 0 };
var loaifont = [];
$(document).ready(function () {
    $("#edit-content").dialog({
        autoOpen: false,
        modal: true,
        minHeight: 170,
        minWidth: 400,
        title: "Thêm font",
        buttons: [
           { html: "<span class='glyphicon glyphicon-floppy-disk'></span> Lưu lại", class: "btn btn-primary", click: function () {
               if (!checkValidate()) return false;
               Fonts.TF = $("#txtTenFont").val();
               Fonts.U = $("#txtURL").val();
               Fonts.GC = $("#txtGhiChu").val();
               Fonts.MT = $("#txtMoTa").val();

               if ($("#HienThi1").is(':checked')) {
                   Fonts.HT = 1;
               } else {
                   Fonts.HT = 0;
               }

               if (action == 'insert') {
                   ThemFont();
               } else {
                   Fonts.MFC = $("#txtMaFont").val();
                   CapNhatFont();
               }
           }
           },
           { html: "<span class='glyphicon glyphicon-remove'></span> đóng", class: "btn btn-danger", click: function () {
               $(this).dialog("close");
           }
           }
        ]
    });

    $("#loaiFont").dialog({
        autoOpen: false,
        modal: true,
        minHeight: 170,
        minWidth: 400,
        buttons: [
           { html: "<span class='glyphicon glyphicon-check'></span> chấp nhận", class: "btn btn-primary", click: function () {
               //sloaifont
               var name = "";
               loaifont = [];
               var n = $("#loaiFont input:checked").length;
               $("#loaiFont input:checked").each(function (i, o) {
                   name += $(o).attr("relname");
                   if (i < (n - 1))
                       name += ", ";
                   loaifont.push($(o).val());
               });
               $("#sloaifont").html(name);
               $("#loaiFont").dialog("close");
           }
           }
        ]
    });

    $("#ftimkiem").dialog({
        autoOpen: false,
        modal: true,
        minHeight: 170,
        minWidth: 400,
        buttons: [
           { html: "<span class='glyphicon glyphicon-search'></span> Tìm", class: "btn btn-primary", click: function () {
               var ten = $("#sTenFont").val();
               var loai = $("#sdrlLoai").val();

               $("#stxtTenFont").val(ten);
               $("#stxtLoai").val(loai);
               refresh();
               $("#ftimkiem").dialog("close");
           }
           },
           { html: "<span class='glyphicon glyphicon-refresh'></span> Làm mới", class: "btn btn-danger", click: function () {
               $("#sTenFont").val("");
               $("#sdrlLoai").val(0);
               $("#stxtTenFont").val("");
               $("#stxtLoai").val("");
           }
           }
        ]
    });

    $("#fthem").click(function () {
        resetdata();
        action = "insert";
        $("#edit-content").dialog("open");
        return false;
    });

    $("#timkiem").click(function () {
        $("#ftimkiem").dialog("open");
        return false;
    });

    $("#txtTenFont").blur(function () {
        if ($("#txtMoTa").val() == '')
            $("#txtMoTa").val($("#txtTenFont").val());

        if ($("#txtURL").val() == '')
            $("#txtURL").val(getUrl($("#txtTenFont").val()));
    });
});

function edit(id) {
    resetdata();
    action = "update";
    $.post("../ajax/fonts.aspx", { Methods: "GetInfo", font: id }, function (data) {
        data = $.parseJSON(data);
        setdata(data.font);
        var name = "";
        $.each(data.Loai, function (i, o) {
            name += o.TL;
            if (i < (data.Loai.length - 1))
                name += ", ";
            $("#loaiFont input[value=" + o.MLC + "]").prop('checked', true);
            loaifont.push(o.MLC);
        });
        $("#sloaifont").html(name);
        $("#edit-content").dialog({ title: "Cập nhật" });
        $("#edit-content").dialog("open");
    });
    return false;
}

function showAlert(id) {
    jConfirm("Xác nhận xóa?", "Thông báo", function (iOK) {
        if (iOK) {
            XoaFonts(id);
        }
    });
    return false;
}

function showLoai() {
    $("#loaiFont").dialog("open");
}

function XoaFonts(id) {
    $.post("../ajax/fonts.aspx", { Methods: "delete", font: id }, function (data) {
        data = $.parseJSON(data);
        if (data.Status == 'OK') {
            refresh();
            $("#edit-content").dialog("close");
        } else {
            jAlert(data.Mess, "Thông báo");
        }
    });
}

function ThemFont() {
    if (!checkFileUpload())
        return false;
    if (window.FormData !== undefined) {
        var fileInput = document.getElementsByName("file")[0];
        var fd = new FormData();
        fd.append('file', fileInput.files[0]);
        fd.append('vTenFont', Fonts.TF);
        fd.append('vUrl', Fonts.U);
        fd.append('vGhiChu', Fonts.GC);
        fd.append('vMoTa', Fonts.MT);
        fd.append('HienThi', Fonts.HT);
        fd.append('iMaNhom', JSON.stringify(loaifont));
        fd.append('Methods', 'ThemMoi');
        
        $.ajax({
            url: '../ajax/fonts.aspx', //server script to process data
            type: 'POST',
            success: function (result) {
                successUpload(result, action);
            },
            data: fd,
            cache: false,
            contentType: false,
            processData: false
        });
    } else {
        jAlert("Trình duyệt của bạn không hỗ trợ!\n Bạn nên sử dụng trình duyệt mới hơn.", "Thông báo");
    }
    return false;
}

function CapNhatFont() {
    if (window.FormData !== undefined) {
        var fileInput = document.getElementsByName("file")[0];
        var fd = new FormData();
        fd.append('file', fileInput.files[0]);
        fd.append('vTenFont', Fonts.TF);
        fd.append('vUrl', Fonts.U);
        fd.append('vGhiChu', Fonts.GC);
        fd.append('iMaNhom', JSON.stringify(loaifont));
        fd.append('vMoTa', Fonts.MT);
        fd.append('MaFont', Fonts.MFC);
        fd.append('HienThi', Fonts.HT);
        fd.append('Methods', 'CapNhat');

        $.ajax({
            url: '../ajax/fonts.aspx', //server script to process data
            type: 'POST',
            success: function (result) {
                successUpload(result, action);
            },
            data: fd,
            cache: false,
            contentType: false,
            processData: false
        });
    } else {
        jAlert("Trình duyệt của bạn không hỗ trợ!\n Bạn nên sử dụng trình duyệt mới hơn.", "Thông báo");
    }
    return false;
}

function successUpload(data, action) {
    var data = $.parseJSON(data);
    if (data.Status == "Success") {
        if (action == 'update') {
            jAlert("Đã cập nhật");
        } else {
            jAlert("Đã thêm mới!");
        }
        refresh();
        $("#edit-content").dialog("close");
    } else {
        jAlert(data.mess,"Thông báo");
    }
}

function checkFileUpload() {
    var file = document.getElementsByName('file')[0];
    if (file.value == "") {
        return false;
    }
    return true;
}

function checkValidate() {
    if ($("#txtTenFont").val() == "") {
        jAlert("Chưa nhập tên font!", "Thông báo");
        return false;
    }
    if ($("#txtMoTa").val() == "") {
        jAlert("Chưa nhập mô tả cho font!", "Thông báo");
        return false;
    }
    if (loaifont.length <= 0) {
        jAlert("Chưa chọn loại font!", "Thông báo");
        return false;
    }
    var url = $("#txtURL").val();
    if (url == "") {
        jAlert("Chưa nhập URL!", "Thông báo");
        return false;
    }
    if (!checkURL(url)) {
        jAlert("URL đã tồn tại!", "Thông báo");
        return false;
    }
    return true;
}

function resetdata() {
    $("#txtMaFont").val("");
    $("#txtTenFont").val("");
    $("#txtURL").val("");
    $("#txtGhiChu").val("");
    $("#txtMoTa").val("");
    clearInputField("fonts");
    action = "";
    $("#sloaifont").html("");
    loaifont = [];
    $("#loaiFont input:checked").each(function (i, o) {
        $(o).prop('checked', false);
    });
    $("#HienThi1").prop('checked', true);
}

function setdata(data) {
    $("#txtMaFont").val(data.MFC);
    $("#txtTenFont").val(data.TF);
    $("#txtURL").val(data.U);
    $("#txtGhiChu").val(data.GC);
    $("#txtMoTa").val(data.MT);
    $("#HienThi" + data.HT).prop('checked', true);
}

function clearInputField(control) {
    var html = $("." + control).html();
    $("." + control).html(html);
}

function getUrl(title) {
    title = title.toLowerCase();
    var res = title.replace(/[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]/g,"");
    res = res.replace(/ /g,"-");
    return res;
}

function checkURL(URL) {
    var checkid = $("#txtMaFont").val();
    if (checkid == "")
        checkid = 0;
    var kq = false;
    $.ajax({
        type: "POST",
        async: false,
        url: "../ajax/fonts.aspx",
        data: { Methods: "CheckUrl", surl: URL, id: checkid },
        success: function (message) {
            var message = $.parseJSON(message);
            if (message.Status == 'OK')
                kq = true;
        }
    });
    return kq;
}

function refresh() {
    __doPostBack('ctl00$MainContent$LinkButton1', '');
}